package top.infopub.mgr.sys.service;


import java.util.List;

import com.github.pagehelper.Page;

import top.infopub.generic.GenericService;
import top.infopub.model.sys.Role;


public interface RoleService extends GenericService<Role, String> {

    /**
     * 根据ID集合删除Role
     * @param checkboxId
     */
    public void delete(String[] checkboxId);

    /**
     * 分派权限
     * @param checkPurviewId 选中的权限ID 用","隔开
     * @param id 
     */
    public void saveRolePurview(String checkPurviewId, String roleId);

    /**
     * 分派权限
     * @param checkPurviewId 选中的权限ID 用","隔开
     * @param roleId 角色id
     * @param clickMenuId 需要更新其下选中权限数据的菜单ID 用","隔开
     * @param id 
     */
    public void saveRolePurviewByClickMenu(String checkPurviewId, String roleId,
                                           String clickMenuId);

    /**
     * 根据用户ID查询用户没有的角色
     * @param userId
     * @return
     */
    public List<Role> selectOperatorNoCheckRole(String userId);

    /**
     * 根据用户id查角色信息
     * @param userId
     * @return
     */
    public List<Role> selectByUserId(String userId);

    /**
     * 分页查询
     * @param page
     * @param role
     * @return
     */
    Page<Role> selectPageByDomainWhere(Page<Role> page, Role role);

    /**
     * 根据所有角色信息
     * @return
     */
    public List<Role> selectAll();

}